Strands : An E cient and Extensible Thread Management Architecture

نویسنده

  • Brian N. Bershad
چکیده

Applications can signi cantly bene t from specializing thread packages, schedulers and synchronization primitives to their needs. In prior systems, specialization has been accomplished through a partitioning of service across the user-kernel boundary. The kernel provides some basic control ow services while user code implements the specialized interface. This approach, though, has been shown to su er from poor performance or poor integration [Anderson et al. 92]. In this paper, we describe a new architecture for thread and scheduling subsystems that provides correct, extensible and e cient thread management for applications. The strand architecture enables applications to place their specialized thread management code in the kernel address space. This allows the operating system to perform upcalls without crossing costly hardware boundaries. As well, it enables applications to contact other system services with low overhead. The system safety issues that arise when placing application code in the kernel are handled in two ways. First, application handlers are written in a typesafe language, Modula-3, to ensure memory-safety. A user thread package executing in the kernel cannot corrupt the kernel's memory or call inappropriate kernel procedures. Second, the strand interface is structured to prohibit the failure of any application handler from a ecting threads not directly managed by that handler. The end result is that the strand architecture allows application code to be tightly integrated with system services, thereby enabling correct, safe and e cient implementations of specialized thread managers. We have implemented the strands architecture in the context of SPIN, which is an extensible operating system being developed at the University of Washington. Using strands, we have implemented several threads packages, including CThreads[Cooper & Draves 88], Mach kernel threads[Accetta et al. 86] and UNIX processes[Ritchie & Thompson 74], as well as low overhead synchronization primitives[Bershad et al. 92], application-speci c schedulers[Zahorjan & McCann

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

cient MPI for Virtual Interface ( VI ) Architecture

E cient Message Passing Interface implementations for emerging cluster interconnects are an important requirement for useful parallel processing on cost-e ective clusters of NT workstations. This paper reports on a new implementation of MPI for VI Architecture networks. Support for high bandwidth, low latency, and low overhead are considered, as is the match of the MPI speci cation to the VI Ar...

متن کامل

An extensible virtual machine architecture

In this paper I present a new approach to designing virtual machines. I argue that the monolithic structure of existing systems leads to unnecessarily rigid high-level abstractions being imposed on applications. In contrast, I propose an extensible approach within which key parts of the virtual machine can be updated independently of one another. Furthermore, the proposed approach allows untrus...

متن کامل

A Compilation Framework for Languages with Dynamic Thread Creation

The e ciency of multithreading is quite essential to the overall performance of concurrent object-oriented languages. It is very ine cient to implement such languages by using thread libraries. In this paper, we propose a framework that e ciently compiles languages which supports dynamic thread creation. In the framework, we designed and implemented a programming language Schematic, which is a ...

متن کامل

Execution replay of parallel procedural programs

This article describes an execution model for the parallel procedural programming paradigm, which combines multithreading and communications. The model is used to prove sucient conditions to guarantee the equivalence between two executions of the same program. An ecient mechanism for recording and replaying deterministically parallel procedural programs is derived from the model and implement...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1996